package com.chixing.day15_map.homework;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class calcCharNum {
    public static void main(String[] args) {

        int count = 0;
        File file = new File("D:\\test1/calcCharNum.txt");
        try {
            FileInputStream fis = new FileInputStream(file);
            HashMap<String, Integer> map = new HashMap();
            // 读取文件
            int len = 0;
            while ((len = fis.read()) != -1) {
                // 每次获取到的字母
                char c = (char) len;
                try {
                    // 通过每次的key的值获取它的value,如果key值没有时，会报空指针，所有要try,catch
                    // 当有值时，就可以获取到相应的值，在这里就可以把相同key的值累加
                    count = map.get(c + "");
                } catch (Exception e) {
                    // 这里什么都不做
                }
                // 如果有它的key值对应的value值要加1,这里要注意重复字母的次数添加
                map.put(c + "", count + 1);
            }
            fis.close();
            // 读取完后把结果打印出来 ，迭代器的使用
            Iterator it = map.entrySet().iterator();
            while (it.hasNext()) {
                Map.Entry entry = (Map.Entry) it.next();
                System.out.println(entry.getKey() + "(" + entry.getValue() + "),");
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}
